#ifndef _FIG_TROPHIE_NOTIFICATION_H_
#define _FIG_TROPHIE_NOTIFICATION_H_

#include <string>
#include <vector>

namespace ui
{
	class UIWidget;	
};


class FIGTrophieNotification
{
public:
	
	static FIGTrophieNotification&	Instance();

	enum							NOTIFICATION_STATE
	{
		STATE_COMING_OUT,
		STATE_DELAY,
		STATE_GOING_BACK,

	};
	
	

	void							ShowNotification(const std::string& Text,
													 const std::string& TrophiImg,
													 int TrophieID);

	void							Tick(float dt);
	void							ForceFinish();
	int								GetLastTrophieID() { return m_LastTrophieID; };
	void							ClearLastTrophieID() { m_LastTrophieID = -1; };

	
protected:

	ui::UIWidget*					m_pUITrophieText;
	ui::UIWidget*					m_pUITrophieImg;
	ui::UIWidget*					m_pUITrophieBox;

	bool							m_bShowingNotification;
	
private:

	std::vector<std::string>			m_NotificationTexts;
	std::vector<std::string>			m_TrophyImgNames;


	FIGTrophieNotification();
	float							m_DelayCounter;
	NOTIFICATION_STATE				m_State;

	int								m_LastTrophieID;
	
};


#endif //_FIG_UI_COMIC_H_